package net.zigin.nhi.could.waste.service;

import net.zigin.nhi.could.waste.dto.SysMenuDto;
import net.zigin.nhi.could.waste.model.SysMenu;
import net.zigin.nhi.could.waste.service.BaseService;
import net.zigin.nhi.could.waste.vo.SysMenuVo;

import java.util.List;

/*#################################################################*
# 说明:以下代码通过哲勤代码生成工具自动生成    
# 工具:GeneratorCode
# 作者:mgw1986                                                  
# 生成时间:2021-9-7 19:08:53                                               
##################################################################*/


/**
 *  SysMenu服务接口类
 * @ClassName: SysMenuService
 * @author mgw1986
 * @date 2021-9-7 19:08:53
 * @version V1.0
 */
public interface SysMenuService extends BaseService<SysMenu, String> {


    /**
     * 新增/编辑
     * @param menuDto 菜单信息
     * @return 菜单ID
     */
    String saveOrUpdate(SysMenuDto menuDto);

    /**
     * 获取菜单列表
     * @param menuDto 菜单查询条件
     * @return 菜单列表
     */
    List<SysMenuVo> getMenuList(SysMenuDto menuDto);

    /**
     * 获取菜单列表数量
     * @param menuDto 菜单查询条件
     * @return 菜单列表数量
     */
    Integer getMenuCount(SysMenuDto menuDto);

    /**
     * 角色获取菜单列表
     * @param roleId 角色ID
     * @return 菜单列表
     */
    List<SysMenuVo> infoByRoleId(String roleId);

    /**
     * 用户获取菜单列表
     * @param userId 用户ID
     * @return 菜单列表
     */
    List<SysMenuVo> infoByUserId(String userId);

    List<SysMenuVo> getHospitalMenuList();

    List<SysMenuVo> getAdminMenuList();

    Boolean judgeRemove(String id);
}
